#ifndef CATMULLROMSPLINE
#define CATMULLROMSPLINE

#include <base\vec3f.h>

#include <iostream>
#include <vector>

class catmullRomSpline {

    std::vector<vec3f> points;
    float delta_t;

public:
  
    // Operations
    void addSplinePoint(const vec3f& v);
    vec3f getInterpolatedSplinePoint(float t);
    int getNumPoints();
    vec3f& getPoint(int n);

    static vec3f interpolate(float t, const vec3f& p1, const vec3f& p2, const vec3f& p3, const vec3f& p4);

      // Constructors and destructor
    catmullRomSpline();
    ~catmullRomSpline();
};

#endif